home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 281_02 / uc_key.h < prev    next >
Text File  |  1988-10-05  |  6KB  |  251 lines

  1. /************************************************************************
  2.  *                                                                      *
  3.  *                              uc_key.h                                *
  4.  *                                                                      *
  5.  *     This header defines internal key codes for special extended      *
  6.  *   keys on IBM and Clone computers by Unicorn Software products.      *
  7.  *                                                                      *
  8.  *                                                                      *
  9.  *                   Copyright (c)  1987 by                             *
  10.  *                      David A.  Miller                                *
  11.  *                      Unicorn Software                                *
  12.  *                                                                      *
  13.  ************************************************************************/
  14.  
  15.  
  16.  
  17. /*
  18.  *       REVISION HISTORY:
  19.  *                         1 November 1987   David A. Miller
  20.  *                                           Created
  21.  *
  22.  *
  23.  */
  24.  
  25.  
  26.  
  27.  
  28.  
  29. /*  Keyboard Function calls */
  30.  
  31. #define KBD_READ     0
  32. #define KBD_READY    1
  33. #define KBD_STATUS   2
  34.  
  35. /*  Define bit masks for particular keys and states */
  36.  
  37. #define KS_RSHIFT     0x0001
  38. #define KS_LSHIFT     0x0002
  39. #define KS_CONTROL    0x0004
  40. #define KS_ALT        0x0008
  41. #define KS_SL_STATE   0x0010      /* Ctrl-Break on Tandy 1000 */
  42. #define KS_NL_STATE   0x0020
  43. #define KS_CL_STATE   0x0040
  44. #define KS_INS_STATE  0x0080
  45.  
  46.  
  47.  
  48. /* Define function keys first */
  49.  
  50. #define K_F1   -59
  51. #define K_F2   -60
  52. #define K_F3   -61
  53. #define K_F4   -62
  54. #define K_F5   -63
  55. #define K_F6   -64
  56. #define K_F7   -65
  57. #define K_F8   -66
  58. #define K_F9   -67
  59. #define K_F10  -68
  60.  
  61. /* Now define the shifted function keys */
  62.  
  63.  
  64. #define K_SF1   -84
  65. #define K_SF2   -85
  66. #define K_SF3   -86
  67. #define K_SF4   -87
  68. #define K_SF5   -88
  69. #define K_SF6   -89
  70. #define K_SF7   -90
  71. #define K_SF8   -91
  72. #define K_SF9   -92
  73. #define K_SF10  -93
  74.  
  75. /* Now for the Control function keys */
  76.  
  77. #define K_CF1   -94
  78. #define K_CF2   -95
  79. #define K_CF3   -96
  80. #define K_CF4   -97
  81. #define K_CF5   -98
  82. #define K_CF6   -99
  83. #define K_CF7  -100
  84. #define K_CF8  -101
  85. #define K_CF9  -102
  86. #define K_CF10 -103
  87.  
  88. /* Now for the Alternate function keys */
  89.  
  90.  
  91. #define K_AF1  -104
  92. #define K_AF2  -105
  93. #define K_AF3  -106
  94. #define K_AF4  -107
  95. #define K_AF5  -108
  96. #define K_AF6  -109
  97. #define K_AF7  -110
  98. #define K_AF8  -111
  99. #define K_AF9  -112
  100. #define K_AF10 -113
  101.  
  102. /* Now define the unshifted keypad keys */
  103.  
  104.  
  105. #define K_HOME     -71
  106. #define K_END      -79
  107. #define K_PGUP     -73
  108. #define K_PGDN     -81
  109. #define K_LEFT     -75
  110. #define K_RIGHT    -77
  111. #define K_UP       -72
  112. #define K_DOWN     -80
  113.  
  114.  
  115.  
  116.  
  117. /*  Alternate Cursor Key pad */
  118.  
  119. #define K_AHOME    -422
  120. #define K_AEND        1
  121. #define K_APGUP       9
  122. #define K_APGDN       3
  123. #define K_ALEFT    -146
  124. #define K_ARIGHT   -234
  125. #define K_AUP      -145
  126. #define K_ADN      -151
  127.  
  128.  
  129.  
  130. /*  Shift Cursor Key pad */
  131.  
  132. #define K_SHOME     -74
  133. #define K_SEND       49
  134. #define K_SPGUP      57
  135. #define K_SPGDN      51
  136. #define K_SLEFT    -135
  137. #define K_SRIGHT   -136
  138. #define K_SUP      -133
  139. #define K_SDN      -134
  140.  
  141.  
  142.  
  143. /*  Control Cursor Key pad */
  144.  
  145. #define K_CHOME    -119
  146. #define K_CEND     -117
  147. #define K_CPGUP    -132
  148. #define K_CPGDN    -118
  149. #define K_CLEFT    -115
  150. #define K_CRIGHT   -116
  151.  
  152. /* Standard Control Key Definitions */
  153.  
  154. #define K_CTRLA     1
  155. #define K_CTRLB     2
  156. #define K_CTRLC     3
  157. #define K_CTRLD     4
  158. #define K_CTRLE     5
  159. #define K_CTRLF     6
  160. #define K_CTRLG     7
  161. #define K_CTRLH     8
  162. #define K_CTRLI     9
  163. #define K_CTRLJ     10
  164. #define K_CTRLK     11
  165. #define K_CTRLL     12
  166. #define K_CTRLM     13
  167. #define K_CTRLN     14
  168. #define K_CTRLO     15
  169. #define K_CTRLP     16
  170. #define K_CTRLQ     17
  171. #define K_CTRLR     18
  172. #define K_CTRLS     19
  173. #define K_CTRLT     20
  174. #define K_CTRLU     21
  175. #define K_CTRLV     22
  176. #define K_CTRLW     23
  177. #define K_CTRLX     24
  178. #define K_CTRLY     25
  179. #define K_CTRLZ     26
  180.  
  181. /*  The Alphabetic Alternate Keys  */
  182.  
  183. #define K_ALTA     30
  184. #define K_ALTB     48
  185. #define K_ALTC     46
  186. #define K_ALTD     32
  187. #define K_ALTE     18
  188. #define K_ALTF     33
  189. #define K_ALTG     34
  190. #define K_ALTH     35
  191. #define K_ALTI     23
  192. #define K_ALTJ     36
  193. #define K_ALTK     37
  194. #define K_ALTL     38
  195. #define K_ALTM     50
  196. #define K_ALTN     49
  197. #define K_ALTO     24
  198. #define K_ALTP     25
  199. #define K_ALTQ     16
  200. #define K_ALTR     19
  201. #define K_ALTS     31
  202. #define K_ALTT     20
  203. #define K_ALTU     22
  204. #define K_ALTV     47
  205. #define K_ALTW     17
  206. #define K_ALTX     45
  207. #define K_ALTY     21
  208. #define K_ALTZ     44
  209.  
  210. /* Special Alternate Keys */
  211.  
  212. #define K_ALT1     -120
  213. #define K_ALT2     -121
  214. #define K_ALT3     -122
  215. #define K_ALT4     -123
  216. #define K_ALT5     -124
  217. #define K_ALT6     -125
  218. #define K_ALT7     -126
  219. #define K_ALT8     -127
  220. #define K_ALT9     -128
  221. #define K_ALT0     -129
  222. #define K_ALTDASH  -130
  223. #define K_ALTEQU   -131
  224.  
  225. /*  Miscellaneous Keys  */
  226.  
  227. #define K_ESC        27
  228. #define K_SPACE      32
  229. #define K_INS       -82
  230. #define K_DEL       -83
  231. #define K_TAB         9
  232. #define K_BACKTAB   -15
  233. #define K_RETURN     13
  234. #define K_ENTER      13
  235. #define K_SRETURN    13
  236. #define K_CRETURN    10
  237. #define K_CINS     -159
  238. #define K_CDEL     -157
  239. #define K_CBKSPACE  127
  240. #define K_AINS     -160
  241. #define K_ADEL     -158
  242. #define K_ABKSPACE -140
  243. #define K_AESC     -139
  244. #define K_SINS       43
  245. #define K_SDEL       45
  246. #define K_SBKSPACE    8
  247. #define K_CPRINT   -114
  248. #define K_APRINT    -70
  249. #define K_PRINT      16
  250. #define K_ARETURN  -143
  251.